在完成拉好畫面後,首先,要先加網路的權限,打開manifests目錄下的AndroidManifest.xml,加入下述網路權限,如下圖所示:
<uses-permission android:name="android.permission.INTERNET" />

接下來,開始處理程式的部份,在Android Studio 3.x版的中,如果在宣告物件或是在使用物件,如果還沒有import此物件的話,在輸入正確的物件名稱的話,Android Studio會顯示出紅色的文字。所以,只要看到紅色的程式碼或是紅線底線的,通常是表示此物件沒有import或是不正確。
而Android Studio也有貼心的地方,就是會直接顯示是否要自動import或是有其他解決方式,這時,只要Alt + Enter,系統,就會自動import此物件。如下圖所示:

 
在要Override監聽事件時,Android Studio 也要自動的判斷可能是那個事件,而一直列出,如下圖示:
這時,只要按下Enter,就會自動建立此事件的程式碼,不用自已一個一個字的打上去。如下圖示:
完整的程式碼如下:
public class MainActivity extends AppCompatActivity {
    //宣告物件名稱。
    private RequestQueue objqueue;
    private final static String strurl = "http://192.168.1.102:8088/get_json.php";
    private TextView lbl_result;
    private StringRequest getRequest;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //物件名稱跟Layout上的物件,產生連結。
        lbl_result = (TextView)findViewById(R.id.lblresult);
        //設定Volley物件。
        objqueue = Volley.newRequestQueue(this);
        //實做Volley物件,在StringRequest的函式,預設值就是Request.Method.GET,可以省略。
        //而strurl,就是要GET的API網址。
        //最後,還要Override二個監聽的事件。
        getRequest = new StringRequest(strurl, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                //response,表示是回傳值,就是API要回傳的字串,也可以是JSON字串。
                lbl_result.setText(response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                //如果發生錯誤,就是回傳VolleyError,可以顯示是什麼錯誤。
                lbl_result.setText(error.getMessage());
            }
        });
    }
//建立此函式,要設定Button的觸發事件函式。
public void prc_getmessage (View v) {
    
    //將getRequest物件加入Volley物件的queue中,執行跟API的溝通。
    objqueue.add(getRequest);
}
}
在Server端的PHP API程式碼:
<?php
    echo json_encode(array('id' => 'A123456789', 'name' => 'jack'));
?>
就簡單的回傳JSON字串即可。
 
這裡,Android Studio,還有一個好用的地方,就是對Button物件,可以在設計畫面中,點選Button物件,在屬性的onClick,就可以直接設定監聽事件的函式,不用還要在程式裡的設定。
最後,設定好模擬機,再執行程式吧。結果,發現出現錯誤「java.io.ioexception:cleartext http traffic to 192.168.1.102 not permitted」,去Google大神,來找為何會發生此問題,才發現是因為沒有權限。

主要是Google為了保證用戶的資料及設備的安全,針對新版的Android的應用程式,將要求默認使用加密連接。要用https,不要再用http。比較安全。
目前有三種解決方案:
一、	APP改用https協定,來溝通API。
二、	在target SDK Version的版本降到27以下。
三、	設定一個xml檔案,來允許開啟http請求。
 
在此,是用第三種方式,來解決此問題。在res目錄,建立一個xml的子目錄,在此目錄,再建立一個檔案,叫「network_security_config.xml」,注意是一個檔案,不是什麼xml檔。如下圖所示:
xml檔案的內容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
最後,在AndroidManifest.xml檔案的內容中,增加
android:networkSecurityConfig="@xml/network_security_config"
如下圖所示:
在執行模擬器,就成功的呼叫API,回傳JSON的字串。
完成了GET的呼叫,明天,要進行POST的呼叫。